import pandas as pd
import os


class DataLoader:
    @staticmethod
    def load(file_path):
        """加载股票数据"""
        if not os.path.exists(file_path):
            raise FileNotFoundError(f"文件不存在: {file_path}")

        if file_path.endswith('.csv'):
            df = pd.read_csv(file_path)
        elif file_path.endswith(('.xls', '.xlsx')):
            df = pd.read_excel(file_path)
        else:
            raise ValueError("不支持的文件格式")

        # 数据标准化处理
        df['Date'] = pd.to_datetime(df['Date'])
        df.set_index('Date', inplace=True)
        df.sort_index(inplace=True)

        # 计算成交量移动平均
        if 'Volume' in df.columns:
            df['Volume_MA'] = df['Volume'].rolling(5).mean()

        return df[['Close', 'Volume', 'Volume_MA']].copy()